package tech.waterism.topo.engine;

import tech.waterism.topo.context.CalculationContext;

/**
 * 后处理器接口
 * 
 * <p>定义后处理的标准接口，由 service 层实现具体的后处理逻辑
 * 
 * <h3>实现示例：</h3>
 * <pre>
 * public class ServiceLayerPostProcessor implements PostProcessor {
 *     &#64;Autowired
 *     private DispatchCalculate dispatchCalculate;
 *     
 *     &#64;Override
 *     public void process(CalculationContext context) {
 *         // 水库调度结果检查
 *         dispatchCalculate.resCheck(...);
 *         
 *         // 蓄滞洪区调度结果检查
 *         dispatchCalculate.storeCheck(...);
 *     }
 * }
 * </pre>
 * 
 * @author waterism
 * @since 1.0.0
 */
@FunctionalInterface
public interface PostProcessor {
    
    /**
     * 执行后处理
     * 
     * @param context 计算上下文
     */
    void process(CalculationContext context);
}

